Use of browser history file to determine web site reach

ABSTRACT

In a method of metering Web usage, a collection program is downloaded from a server to a metered computer in response to a message transmitted from the metered computer to the server, and the collection program is executed on the metered computer in order to collect Web usage history information stored in a history file by a browser running on the metered computer. The collected Web site usage history information is transmitted by the metered computer to the server. The Web site usage history information is stored in the server along with Web site usage history information from other metered computers.

RELATED APPLICATIONS

This is a Continuation of U.S. application Ser. No. 09/103,026 filed Jun. 23, 1998 now abandoned, the entire content of which is hereby incorporated by reference.

TECHNICAL FIELD OF THE INVENTION

The present invention relates to an arrangement whereby Web site reach is determined from the history files of browsers.

BACKGROUND OF THE INVENTION

The Internet has proven to be an efficient and popular mechanism for the dissemination of information from content providers to content recipients. Content providers in many cases are organizations, such as businesses, governmental agencies, educational institutions, and the like, who operate Web sites in order to provide information that can be downloaded by content recipients. The content recipients are often consumers who use computers typically located in their dwellings to access the content provided by content providers. However, content recipients may also be other businesses, governmental agencies, educational institutions, and the like. In many cases, a content provider is also a content recipient.

The operators of Web sites, as well as those who create and place content (such as advertisements) for Web sites, have an interest in measuring the reach of content. Reach is typically determined by the number of unique visitors who visit a Web site. Web site operators, and those who create and place content, may then draw market relevant conclusions from the reach of their content.

Several arrangements have been proposed in order to measure reach. For example, it is known for a Web site to itself measure reach by determining the number of unique visitors who visit a Web site. However, such a measurement is localized in that it provides little information about the reach of content offered by other Web sites, such as competitive Web sites. Also, this measurement provides no information about the demographic information about the reach.

Accordingly, it has been proposed to install software meters on the computers of statistically selected panelists so that reach, and other information related to content, can be measured and extrapolated over the population as a whole, in much the same way that TV ratings are generated. According to this proposal, the software meters track operating system messages in order to detect communications of interest. When the software meters detect communications of interest, the software meters log the titles of the corresponding windows which are displayed to a computer user. However, logging titles of windows containing Internet content is not particularly useful because such titles can be very generic. For example, one such title which is popular with many content providers is simply “Home Page.” This title provides little indication of the information supplied to the content recipient.

Moreover, tagging of Internet content has been broadly suggested. However, the context in which tagging has been suggested requires widespread industry cooperation, and it is unlikely that such widespread industry cooperation is attainable.

The present invention overcomes one or more of the above noted problems.

SUMMARY OF THE INVENTION

In accordance with one aspect of the present invention, a method of metering Web site reach through execution of program code running on at least one computer comprises the following steps: a) accessing Web site access history information; and b) copying the Web site access history information.

In accordance with another aspect of the present invention, a method of metering Web site reach through execution of program code running on at least one of first and second computers comprises the following steps: a) accessing Web site access history information stored in a history file stored on the first computer; and b) communicating the Web site access history information to the second computer.

In accordance with yet another aspect of the present invention, a method of metering Web usage comprises the following steps: a) downloading a collection program from a server to a metered computer in response to a message transmitted from the metered computer to the server; and b) executing the collection program on the metered computer in order to collect Web usage history information stored in a history file by a browser running on the metered computer.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages of the present invention will become more apparent from a detailed consideration of the invention when taken in conjunction with the drawings in which:

FIG. 1 illustrates a metering system according to the present invention in which browser histories are reported to a central facility from a plurality of computers located at corresponding statistically selected sites;

FIG. 2 illustrates an exemplary embodiment of a software routine which may be executed by the central facility in order to obtain the browser histories from the computers of FIG. 1;

FIG. 3 illustrates an alternative metering system according to the present invention in which a plurality of meters resident on computers at corresponding statistically selected sites report browser histories to a central facility; and,

FIG. 4 illustrates an exemplary embodiment of a software routine which may be used for the meters of FIG. 3.

FIG. 5 illustrates an example flowchart of an example method for metering a web site.

DETAILED DESCRIPTION

A metering system 10 is shown in FIG. 1 as an exemplary application of the present invention. The metering system 10 includes a plurality of computers 12 each of which is located at a corresponding panelist location 14. The computers 12 may be referred to herein as metered computers. The panelist locations 14 are statistically selected, such as by a central facility 16, in order to participate in a Web site reach survey. For example, personnel at the central facility 16 or elsewhere may implement random digit dialing in order to find the users of the computers 12 for participation in the Web site reach survey.

The purpose of the Web site reach survey is to determine the reach of one or more Web sites 18 to the users of the computers 12. The Web site reach survey may provide such information as the number of users reached by the Web sites 18, the demographics of the users reached by the Web sites 18, and the like.

As shown in FIG. 1, one or more of the Web sites 18 may be reached through an Internet Service Provider 20. The users of the computers 12 reach the Web sites 18 through browsers 22 operating on the computers 12. The computers 12, the central-facility 16, the Web sites 18, and the Internet Service Provider 20 are interconnected by a network 24 which, for example, may be a public telephone system, an internal network, or the like.

Many browsers, such as the Netscape Navigator® browser and the Internet Explorer browser, store the URLs and other information of the Web pages which are accessed by surfers whenever the surfers go to Web pages, either by clicking on hyper-links or by typing in URLs directly. The Netscape Navigator® browser stores the URLs in a flat database history file, while the Internet Explorer browser stores the URLs and other information in a directory as a structured historical hierarchy according to date and week of access. Surfers use the data stored in these histories to allow them to return to pages which they recently visited.

Therefore, in order to conduct the Web site reach survey, the users of the computers 12, who have been statistically selected as discussed above and who have agreed to participate in the survey, are directed to a Web page residing on a server of the central facility 16. The Web page at the central facility 16 contains a history file retrieval program which the server at the central facility 16 downloads to the computers 12 of those users who have accessed that Web page. The history file retrieval program retrieves the information stored by the browsers 22 in the history files and causes this information to be uploaded to the server of the central facility 16. It should be noted that the server of the central facility 16 preferably stores multiple history file retrieval programs, one for each of the different types of browsers of the panelists participating in the Web site reach survey. Thus, once the server at the central facility 16 has identified the type of browser a panelist accessing its Web page is using, it may download the correct history file retrieval program.

A browser does not necessarily retain the information in its history file indefinitely. For example, some browsers allow the user to set the length of time that history file information is retained. Such browsers may also time stamp each entry in the history file with the time of the last visit. Accordingly, if a user returns to a page that the user has seen before, the time stamp is overwritten with the latest time, such that entries in the history file are not duplicated on repeat visits.

Other browsers store the history information with time stamps in directories according to the week in which the Web pages are visited. These browsers may also permit the user to set the number of days that the historical information is retained. Thus, for example, if the user sets the number of retention days to twenty, these browsers will maintain three directories, one for two weeks ago, one for one week ago, and one for the current week. Therefore, if a user is running such a browser on a Wednesday, there will be subdirectories for Monday, Tuesday, and Wednesday under the Current Week directory in the history file. With this approach, many entries may be duplicated when the same page is visited more than once. For example, a page may appear in each weekday subdirectory and in each prior week directory depending on the user's use of the browser. However, as duplicate entries in the current week directory age (e.g., from Sunday to Monday), many of the entries are deleted or merged into one entry for the week. Duplicate entries across week boundaries are not merged.

Even though the information in these history files in not retained indefinitely, this information is still useful to indicate the number and demographics of people who reach the Web sites 18. Also, the information acquired by the server of the central facility 16 can be improved by the frequency with which the information is uploaded to the server of the central facility 16.

Accordingly, the server at the central facility 16 may execute a software routine 30 shown in FIG. 2 whenever a user accesses its home page. The user may access this home page on the user's own initiative, or the software routine 30 may prompt the user to initiate access by sending a message, such as an e-mail, to the user requesting the user to access this home page. However access is initiated, the server at the central facility 16 waits for a Web message at a block 32. When the server at the central facility 16 receives a Web message at the block 32, the server at the central facility 16 determines at a block 34 whether the user sending the current Web message is a panelist who has been selected for participation in the Web site reach survey. For example, the server at the central facility 16 may refer to a list of panelists who have agreed to participate in the Web site reach survey. If the user is not a panelist (e.g., the user is not on the list), the server at the central facility 16 at a block 36 hands off the received message to other software for appropriate processing. (Alternatively, program flow may simply return to the block 32 to await the next message.)

However, if the user is a panelist, an application is sent at a block 38 to the user's computer 12. This application may be a Java applet, JavaScript, or an ActiveX control. The user's permission is required to access information on the hard disk of the user's computer. In Java and JavaScript, permission is obtained in the form of a signed application (as opposed to an unprivileged application that runs in a sand-box environment). An ActiveX application requires the user's authorization even if the application does not need to access the hard disk of the user's computer. The latest versions of many browsers allow a programmer to automate the download and subsequent execution of a signed application on a single Web page. All the panelist may be required to do is to go to the specified Web page and click the “Okay” or similar icon or button in response to a security override request.

The application downloaded to the panelist's computer is arranged to access the history file stored by the computer's browser, to insert the appropriate information stored in the history file into a message, and to communicate the message to the server at the central facility 16. For example, the application may be arranged to open a regular socket back to the server, or the application may be arranged to post the information back to the server through an HTTP daemon, or the application may be arranged to simply e-mail the information back to the server. Alternatively, the application may be arranged to access the history file, to store appropriate information from the history file in a log, and to later communicate the logged information to the server at the central facility 16.

The server at the central facility 16 determines at a block 40 whether the central facility 16 has received information in response to the application downloaded at the block 38. If the server of the central facility 16 has not received the information, the server determines at a block 42 whether it should again send the application down to the user's computer. If the application can be resent, the processing at the blocks 38 and 40 is repeated. In this manner, a predetermined number of attempts may be made to retrieve history data from each panelist. If the application should not be resent, program flow returns to the block 32 to await another message.

If the server at the central facility 16 has received the history information as determined at the block 40, the server at a block 44 suitably processes the history information and then logs the history information in a database along with history information received from other panelists. The history information can be assembled into reports as directed by the customers of the central facility 16.

In processing the history information, the server at the central facility 16 preferably arranges the history information from different browsers into a common format. For example, because some browsers may contain duplicate data and some may not, it may be preferable to eliminate duplicate data. It should be noted that some or all of the processing required to transform the data to a common format may be effected on the panelist's computer.

Also, the data from all weeks and days should be merged and any entry that is a duplicate may be discarded in favor of the most recent entry. The parameter that controls the length of time that the history information is maintained is an integral part of the history information and should preferably be maintained in the server database so that reach data is given the proper time line. For example, data from a browser with an expiration time of ten days cannot be used to measure reach over a period extending to before that interval.

A metering system 50 shown in FIG. 3 represents an alternative embodiment of the present invention. The metering system 50 includes a plurality of computers 52 each of which is located at a corresponding panelist location 54. The computers 52 may be referred to herein as metered computers. The panelist locations 54 are statistically selected to participate in a Web site reach survey. As before, the purpose of the Web site reach survey is to determine the reach of one or more Web sites 58 to the users of the computers 52. As shown in FIG. 3, one or more of the Web sites 58 are reached through an Internet Service Provider 60. The users of the computers 52 reach the Web sites 58 through browsers (not shown) operating on the computers 52. The computers 52, the central facility 56, the Web sites 58, and the Internet Service Provider 60 are interconnected by a network 64 which, for example, may be a public telephone system, an internal network, or the like.

In the metering system 50, a software meter 66 acquires the history information which is accumulated by the browsers running on corresponding ones of the computers 52. The software meter 66, as shown in FIG. 4, determines when a corresponding browser makes an entry into a history file at a block 70. When the software meter 66 determines that the browser is making an entry into the history file, the entry at a block 72 is intercepted, is copied to a separate log file, and is then passed to the history file. In parallel, the software meter 66 determines at a block 74 whether it is time to transmit the contents of the log file to the central facility 56. If it is time to transmit the contents of the log file to the central facility 56, the log file is tested at a block 76 to determine whether it has accumulated any history information since the time for the last transmission to the central facility 56. If history information has been accumulated in the log file since this time, the software meter 66 packages the history information with the address of the central facility 56 in a message at a block 78 and transmits the message at a block 80. After a new entry in the history file is logged at the block 72, or if it is not time to transmit the contents of the log file as determined at the block 74, or if the log file contains no data since the time for the last transmission to the central facility 56 as determined at a block 76, or after the contents of the log file are transmitted to the central facility 56 at the block 80, program flow then returns to the blocks 70 and 74.

Certain modifications of the present invention have been discussed above. Other modifications will occur to those practicing in the art of the present invention. For example, the software routine 30 is arranged as described above to determine at the block 34 whether a user accessing the central facility is a panelist. Instead, the software routine 30 may be associated with a dedicated survey Web page that can be accessed only by a panelist. If so, the block 34 may be unnecessary, but may be provided as a filter to filter out non-panelists who accidentally access this dedicated Web page.

Also, the software meter 66 is arranged to intercept information being stored in a history file by a corresponding browser. However, the software meter 66 may instead be arranged to access information from this history file on a periodic basis, such as once a day, once a week, or the like.

Moreover, the software meter 66 is described above as being resident on a corresponding computer 52. Instead, the functions performed by the software meter 66 may be performed by a hardware and/or software unit connected to the corresponding computer 52.

Furthermore, the software meter 66 as described above transmits accumulated logged history information. Instead, the software meter 66 may be arranged to transmit the history information as soon as it is detected at the block 70. That is, the software meter 66 copies the history information for immediate transmission to the central facility or other destination. Alternatively, the history information may be simply copied to a disk for posting back to the central facility or other destination.

Additionally, the computers 12 and 52 may be provided with mechanisms to determine the identities of their users and to transmit such identities to the central facilities 16 and 56. For example, the computers 12 and 52 may implement face recognition or other recognition techniques in order to identify the users, or the computers 12 and 52 may require the users to identify themselves. These identifications, together with demographic data about the panelists stored at the computers 12 and 52 or at the central facilities 16 and 56, provide information which is useful in generating reports for the customers of the central facilities 16 and 56.

FIG. 5 illustrates an example flowchart of an example method for metering a web site. According to the example method, a user input including a reference to a Web site is received at a first computer (block 502). In response, the first computer accesses the website (block 504). The method further comprises, maintaining a browser history stored on the first computer (block 506). The browser history stores a reference to the Web site in response to the browser accessing the Web site. The browser history is maintained by browser functionality native to the browser and the browser history has a first format. A message instructing the first computer to send the message to a second computer is received at the first computer (block 508). A message is then sent from the first computer to the second computer after the browser history is populated with information (block 510). The first computer receives an application from the second computer in response to the message (block 512). The application is executed at the first computer (block 514). Next, the reference to the Web site is stored at a third computer (block 516). Then, the method of FIG. 5 terminates.

Accordingly, the description of the present invention is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which are within the scope of the appended claims is reserved. 

1. A method of metering a Web site comprising: maintaining a browser history stored on a first computer, wherein the browser history stores a reference to the Web site in response to the browser accessing the Web site, wherein the browser history is maintained by browser functionality native to a browser, and wherein the browser history has a first format; sending a message from the first computer to a second computer after the browser history is populated with information, wherein the message includes an identity indication of the first computer; receiving an application at the first computer from the second computer in response to the message, wherein the application is configured to operate with browser histories having the first format; and executing the application at the first computer, wherein during execution the application accesses the browser history having the first format, extracts a portion of the browser history, and inserts the extracted portion of the browser history into a communication directed to a third computer.
 2. The method of claim 1 wherein the second and third computers are the same computer.
 3. The method of claim 1 further comprising storing in the third computer the reference to the Web site from the first computer together with Web site access history information from other computers.
 4. The method of claim 1 wherein the first format of the browser history comprises a directory that is structured hierarchically according to date and week.
 5. The method of claim 1 wherein the first format of the browser history comprises a flat database file.
 6. The method of claim 1 wherein the second computer determines a format of the browser history stored at the first computer.
 7. The method of claim 1 wherein sending a message from the first computer to the second computer comprises the first computer logging onto a web page hosted by the second computer.
 8. The method of claim 1 further comprising receiving a message at the first computer, wherein the message received at the first computer requests the first computer to send the message to a second computer.
 9. The method of claim 8 wherein receiving the message at the first computer comprises receiving an electronic mail.
 10. The method of claim 1 wherein the second computer determines if the first computer is operated by a panelist who has agreed to participate in a web site reach survey.
 11. The method of claim 10 wherein the application is received at the first computer only if the first computer is operated by a panelist who has agreed to participate in the web site reach survey.
 12. The method of claim 11 wherein the execution of the application at the first computer includes prompting a user at the first computer to approve execution of the application.
 13. The method of claim 1 wherein the browser history is stored without user intervention in response to the browser accessing the Web site.
 14. The method of claim 13 further comprising receiving a user input including a reference to the Web site and accessing the Web site in response to the user input. 